const express = require('express');
// 引入暴露的模块
const pool = require('../mysql.js');
const fs = require('fs')
var path = require('path');
// 使用路由方法
const route = express.Router();

// 使用post方法传参  注册接口
route.post('/register', (req, res, next) => {
    // post 传参查看 在 req.body
    console.log(req.body)
    // 判断用户名是否为空
    if (req.body.txt1 == '注册') {
        if (!req.body.phone) {
            res.send({ code: 201, msg: '手机名为空' })
            return  // 后续不执行
        }
        if (!req.body.userpwd) {
            res.send({ code: 202, msg: '密码为空' })
            return
        }
        // 判断用户名是否存在
        pool.query('select * from user_msg where phone=?', [req.body.phone], (err, result) => {
            if (err) {
                next(err);
                return
            }
            if (result.length) {

                res.send({ code: 203, msg: '手机号已存在' })
                return
            }
            // 添加用户和密码
            pool.query('insert into user_msg set?', [req.body], (err, result) => {
                if (err) {
                    next(err)
                    return
                }
                console.log(result)
                res.send({ code: 200, msg: '注册成功' })

            })
        })
    } else {
        if (!req.body.phone) {
            res.send({ code: 201, msg: '手机名为空' })
            return  // 后续不执行
        }
        if (!req.body.userpwd) {
            res.send({ code: 202, msg: '密码为空' })
            return
        }

        pool.query('select * from user_msg where phone=?', [req.body.phone], (err, result) => {
            if (err) {
                next(err);
                return
            }
            if (result.length) {
                pool.query('update user_msg set userpwd=? where phone=?', [req.body.userpwd, req.body.phone], (err, result) => {
                    if (err) {
                        next(err)
                        return
                    }
                    res.send({ code: 204, msg: '修改成功' })
                })
            } else {
                res.send({ code: 201, msg: '手机名为空' })

            }
        })

    }
    // updata user_msg set userpwd where phone=?


})

// 登录接口
route.post('/login', (req, res, next) => {

    // 验证码登录注册
    if (req.body.iscode == 'true') {
        if (!req.body.phone) {
            res.send({ code: 201, msg: '手机号为空' })
            return
        }

        pool.query('select * from user_msg where phone=?', [req.body.phone], (err, result) => {
            if (err) {
                next(err);
                return
            }
            if (result.length) {
                res.send({ code: 200, msg: '登录成功' })
                return
            }
            // 添加用户和密码
            pool.query('insert into user_msg set?', [req.body], (err, result) => {
                if (err) {
                    next(err)
                    return
                }
                console.log(result)
                res.send({ code: 200, msg: '注册并 登录成功' })

            })
        })
    } else {  // 密码登录
        if (!req.body.phone) {
            res.send({ code: 201, msg: '手机号为空' })
            return  // 后续不执行
        }
        if (!req.body.userpwd) {
            res.send({ code: 202, msg: '密码为空' })
            return
        }
        pool.query('select * from user_msg where phone=? and userpwd=?', [req.body.phone, req.body.userpwd], (err, result) => {
            if (err) {
                next(err);
                return
            }
            if (result.length) {
                res.send({ code: 200, msg: '登录成功' })
            } else {
                res.send({ code: 501, msg: '登录失败' })

            }
        })
    }
})
//用户昵称修改
route.post('/msg', (req, res, next) => {
    console.log(req.body.username)
    console.log(req.body.phone)
    if (req.body.username == '') {
        res.send({ code: 201, msg: '输入信息为空' })
        return
    }

    pool.query('update user_msg set username=? where phone=?', [req.body.username, req.body.phone], (err, result) => {
        if (err) {
            next(err)
            return
        }
        res.send({ code: 200, msg: '修改成功' })
    })
})
// 动态用户名修改
route.post('/dmsg', (req, res, next) => {
    console.log(req.body.cid)
    if (req.body.username == '') {
        res.send({ code: 201, msg: '输入信息为空' })
        return
    }

    pool.query('update user_dynamic set username=? where cid=?', [req.body.username, req.body.cid], (err, result) => {
        if (err) {
            next(err)
            return
        }
        res.send({ code: 200, msg: '修改成功' })
    })
})

// 用户名图像名修改
route.post('/updateimg', (req, res, next) => {
    if (req.body.img == '') {
        res.send({ code: 201, msg: '输入信息为空' })
        return
    }

    pool.query('update user_msg set img=? where uid=?', [req.body.img, req.body.uid], (err, result) => {
        if (err) {
            next(err)
            return
        }
        res.send({ code: 200, msg: '修改成功' })
    })
})

// 用户信息获取
route.post('/information', (req, res, next) => {
    pool.query('select * from user_msg where phone=?', [req.body.phone], (err, result) => {
        if (err) {
            next(err)
            return
        }
        if (result.length) {
            res.send({ code: 200, msg: '获取成功', name: result[0].username, uid: result[0].uid, img: result[0].img, userpwd: result[0].userpwd })
            return
        } else {
            res.send({ code: 201, msg: '暂无数据' })
        }
    })
})


//删除图片的api
route.post('/deleteimg', (req, res, next) => {
    //前端传过来的是图片的唯一id值，后端通过该id值进行删除图片
    //根据id查找数据库中图片的地址
    pool.query('select * from user_msg where uid=?', [req.body.uid], (err, results) => {
        if (err) {
            next(err)
            return
        }
        if (results.length == 1) {
            console.log(path.resolve('./') + '\\public\\' + results[0].img)
        }
        fs.unlink(path.resolve('./') + '\\public\\imgcontent\\' + 'xcxm.jpg', function (error) {
            if (error) {
                console.log(error);
                return false;
            }
            console.log('删除文件成功');
            //删除图片文件成功，删除该id对应的图片地址在数据库中的数据，并响应给前端。
           
        })
        // console.log(results.img)
        res.send(__dirname + results[0].img)
        //找到相应的图片数据
        // if (results.length == 1) {
        //     //原图片地址http://127.0.0.1/img/......=>/img/......
        //     //通过slice方法，分割出图片前面的url地址
        //     console.log(results[0].img.slice(16));
        //     const path = '.' + results[0].img.slice(16)
        //     // fs.unlink删除文件,path为图片文件地址
        //     fs.unlink(path, function (error) {
        //         if (error) {
        //             console.log(error);
        //             return false;
        //         }
        //         console.log('删除文件成功');
        //         //删除图片文件成功，删除该id对应的图片地址在数据库中的数据，并响应给前端。
        //         const deletesql = 'delete from chenchaoyunimg where id=?'
        //         db.query(deletesql, [req.body.id], (err, results) => {
        //             if (err) {
        //                 return res.send({ message: err.message })
        //             }
        //             if (results.affectedRows == 1) {
        //                 return res.send({
        //                     status: 0,
        //                     message: '删除图片成功'
        //                 })
        //             } else {
        //                 res.send({
        //                     status: 1,
        //                     message: '删除图片失败'
        //                 })
        //             }
        //         })
        //     })
        // }
    })

})


// 暴露模块
module.exports = route;

